Yeehaw! Endlich wieder ein Blog!

written by Martin Häcker on

Lange hat es gedauert - Ahem.

In den letzten Monaten habe ich mich mit Lektor auseinandergesetzt. Mit ein Paar Plugins (CreativeCommons und Markdown Highlighter) kann man viel Spaß beim Blog-Post schreiben haben.

Der große Vorteil von Lektor ist, dass man eine komplett statische Seite damit rendert. Man kann die Seite danach also über ein CDN ausliefern - 'Internet Scale' ist also gar kein Problem…

Solche Systeme gibt es natürlich viele - aber mit Lektor kriegt man zusätzlich noch ein CMS (das Lokal läuft) - oder auch hinter .htaccess geschützt laufen kann, so dass man keine Sorgen haben muss, dass einem über so eine Webseite der Server aufgemacht wird.

Aber Lektor überzeugt auch mit einer moderat einfachen API, selbst plugins dafür zu schreiben ist einfach und macht Spaß. Fast wie es bei Track ganz am Anfang auch einmal war. ☺️

Ich freue mich darüber dass ich jetzt eine voll-responsive Seite haben, die mit HTML und CSS wirklich auskommt - no JS needed. (Ich werde aber vielleicht in der Zukunft für Experimente auch JS in der Seite verwenden). Für jetzt ist es erst mal das Experiment wie lange ich ohne JS auskomme.

Da wäre zum Beispiel das Menü - das auf Mobil mit Animation schön aufklappt. Hierzu habe ich verschiedene Techniken kombiniert.

  1. Die Verhältnisse der ganzen Abmessungen werden über CSS-Variablen und CSS-Calc einmal global gesetzt. Das geht zwar noch nicht vollständig, da man CSS Variablen nicht in Media Queries einsetzen kann, aber immerhin. Einzig dass man Stylesheets noch nicht 'nested' aufschreiben kann stört.

  2. Die Animation beim klick auf das Hamburger Menü sowie das Öffnen des Menüs kommt komplett ohne JS aus. Damit das geht braucht es ein DOM Element, dass den State 'ein oder ausgeblendet' hält, gleichzeitig via CSS abgefragt werden kann sowie diesen State durch Klick auf ein anderes Element ändert. Well, dafür funktioniert lustiger Weise das <input type=checkbox id=menu-state> Element. Das wechselt den checked-Zustand, was mann dankenswerter Weise in CSS mittels :checked herausfinden kann. Der Clou ist aber, dass man irgendwo anders im Dokument ein <label for=menu-state> haben kann, auf das man Klicken kann um diesen State zu wechseln. Und <label> kann man im Gegensatz zu <input type=checkbox> in allen Browsern vernünftig stylen. Und man kann mittels CSS-Animationen alles animieren. Fuck yeah!

Lockless Algorithms

written by Martin Häcker on

Schon lange habe ich keine so passende Visualisierung mehr für etwas gesehen:

Lockless Algorithms / Schlosslose Algorithmen:

via devopsreactions

Melderecht Datenweitergabe jetzt ohne Zustimmung

written by Martin Häcker on

Das ist doch ein Juwel: Melderechter sollen in Zukunft meine Daten an jedes Industrieunternehmen weitergeben dürfen - wenn die Firma die Daten für ein "update" schon vorhandener Daten anfragt.

Was pikanterweise die Voraussetzung fast jeder Anfrage ist.

Dem kann man dann gar nicht mehr widersprechen - de fakto hat man also keine Möglichkeit mehr dieser Geschäftspraktik der Meldeämter wenigstens für sich persönlich Einhalt zu gebieten.

Compact hält dagegen und hofft auf 200.000 unterstützer in möglichst kurzer Zeit:

http://www.campact.de/melderecht/sn1/signer

Dafür!

SSL Certificate Trouble

written by Martin Häcker on

If you should ever stumble upon this bug, consider yourself very lucky that I have found the solution to this already, because it took me AGES to figure this out. No shit.

So here's the problem: We used a self signed certificate on on of our servers and curl and all tools relying on curl just couldn't connect to this server at all (with certificate validation). Despite the fact that the root certificate that signed the server certificate was happily in my keychain and marked as trusted.

The solution first: Turns out that the Keychain will eat certificates in many formats, specifically it supports DER and PEM. curl however can't use the DER certificate in the keychain and just reports it as missing. Exporting the certificate, converting it to PEM and then reimporting it (making sure to remove the DER version beforehand) fixed it.

I converted the file with this command openssl x509 -inform DER -in some.ser.ver.der -out some.serv.ver.pem

Here's some of the error messages I got:

% curl -I https://some.serv.ver -v
* About to connect() to some.serv.ver port 443 (#0)
*   Trying some.ip... connected
* Connected to some.ser.ver (some.ip) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

If you hit this brick wall - hope this helps you too.

Mappei Stützen und Rechnungsstellung

written by Martin Häcker on

Gerade habe ich endlich für mein GTD-System ein super-Zubehör gefunden, Mappenstützen von Classei. Der große Vorteil davon: Die Mappen stehen in den Boxen auch stabil wenn diese nicht voll sind - damit kann man seine GTD-Ablage viel entspannter aufbauen. :)

Und noch ein witziges Detail: Classei gewährt 2% Skonto wenn man zügig bezahlt. Das bedeutet natürlich das sie eigentlich 2% mehr verlangen, wenn man nicht zügig bezahlt. Ich wette aber, dass das viele Leute dazu veranlasst schnell zu bezahlen. Und das finde ich einen schönen Trick. :-)

Musik ist doch was feines

written by Martin Häcker on

Da gibts so viele Möglichkeiten.

Iranische Männer weinen nicht...

written by Martin Häcker on

... hat Ihm seine Mutter beigebracht als er ein Fahrad wollte dass sie sich nicht leisten konnte. Und dann weinte er so stark dass er sein Auto nicht mehr weiter fahren konnte und am Straßenrand anhalten musste.

http://www.thegreenwave-film.com/

Dieser Film hat mich tief traurig gemacht, weil es Länder wie den Iran gibt, in denen so viele Menschen nicht ihre Freiheit genießen und so sorgenfrei aufwachsen und leben können wie ich das hier konnte und kann.

Sehr sehenswert.

Ägypten

written by Martin Häcker on

http://twitpic.com/3u6gvc

Dabei läufts mir jedesmal wenn ich das anschaue kalt über den rücken.

Umfragen und Ergebnisse - so gehts!

written by Martin Häcker on

Viel zu selten kriegt man mal bescheid wenn man an einer Umfrage / Untersuchung teilgenommen hat und dann endlich die Ergebnisse vorlegen.

Um so schöner wenn das mal funktioniert!

Die Uni Augsburg hat das mal richtig gemacht!

Und dann auch gleich zur nächsten Runde eingeladen. Jawohl!

Die meisten wissenschaftlichen Ergebnisse sind falsch

written by Martin Häcker on

Geiler Titel eh? Trotzdem das Ergebnis gut replizierbarer wissenschaftlicher Forschung. Hach die Ironie.

Hier gibt es dazu einen sehr schönen Artikel. (via fefe)